Elasticsearch-এ Field Data Type হলো একটি গুরুত্বপূর্ণ উপাদান, যা নির্ধারণ করে প্রতিটি ফিল্ড কী ধরনের ডেটা ধারণ করবে। এটি Elasticsearch-কে ডেটা সঠিকভাবে ইন্ডেক্স করতে এবং সার্চ অপারেশন কার্যকরী করতে সহায়ক করে। Elasticsearch বিভিন্ন ধরনের ডেটা টাইপ সমর্থন করে, যেমন text
, keyword
, integer
, date
, এবং আরও অনেক। প্রতিটি ডেটা টাইপের নির্দিষ্ট ব্যবহার এবং প্রয়োগ রয়েছে, যা নিচে আলোচনা করা হলো।
{
"properties": {
"description": {
"type": "text",
"analyzer": "standard"
}
}
}
"description"
ফিল্ডে text
টাইপ ব্যবহার করা হয়েছে, যা ফ্রি-টেক্সট ডেটা সংরক্ষণ করবে এবং "standard"
অ্যানালাইজার ব্যবহার করে টোকেনাইজ করা হবে।{
"properties": {
"status": {
"type": "keyword"
}
}
}
"status"
ফিল্ডে keyword
টাইপ ব্যবহার করা হয়েছে, যা এক্সাক্ট ম্যাচ সার্চের জন্য সঠিক।Elasticsearch-এ কয়েকটি Numeric ডেটা টাইপ রয়েছে:
Numeric ডেটা টাইপ সাধারণত সংখ্যা, বয়স, স্কোর, প্রাইস, বা অন্যান্য গাণিতিক মান সংরক্ষণের জন্য ব্যবহৃত হয়।
{
"properties": {
"price": {
"type": "float"
},
"quantity": {
"type": "integer"
}
}
}
"price"
ফিল্ডে float
এবং "quantity"
ফিল্ডে integer
টাইপ ব্যবহার করা হয়েছে।{
"properties": {
"join_date": {
"type": "date",
"format": "yyyy-MM-dd"
}
}
}
"join_date"
ফিল্ডে date
টাইপ ব্যবহার করা হয়েছে এবং "yyyy-MM-dd"
ফরম্যাট নির্ধারণ করা হয়েছে।true
বা false
মান সংরক্ষণের জন্য ব্যবহৃত হয়।{
"properties": {
"is_active": {
"type": "boolean"
}
}
}
"is_active"
ফিল্ডে boolean
টাইপ ব্যবহার করা হয়েছে, যা সক্রিয় বা নিষ্ক্রিয় অবস্থা সংরক্ষণ করবে।{
"properties": {
"location": {
"type": "geo_point"
}
}
}
"location"
ফিল্ডে geo_point
টাইপ ব্যবহার করা হয়েছে, যা একটি ভৌগোলিক পয়েন্ট ধারণ করবে।{
"properties": {
"address": {
"type": "object",
"properties": {
"street": { "type": "text" },
"city": { "type": "keyword" },
"zipcode": { "type": "integer" }
}
}
}
}
"address"
ফিল্ড একটি object
টাইপ, যেখানে street
, city
, এবং zipcode
সংরক্ষিত হয়েছে।{
"properties": {
"comments": {
"type": "nested",
"properties": {
"user": { "type": "keyword" },
"message": { "type": "text" },
"created_at": { "type": "date" }
}
}
}
}
"comments"
ফিল্ড nested
টাইপ ব্যবহার করা হয়েছে, যা প্রতিটি মন্তব্যের জন্য আলাদা ডকুমেন্ট হিসেবে কাজ করবে।{
"properties": {
"client_ip": {
"type": "ip"
}
}
}
"client_ip"
ফিল্ডে ip
টাইপ ব্যবহার করা হয়েছে, যা ক্লায়েন্টের IP ঠিকানা ধারণ করবে।{
"properties": {
"suggest": {
"type": "completion"
}
}
}
"suggest"
ফিল্ডে completion
টাইপ ব্যবহার করা হয়েছে, যা ইনপুট টেক্সটের জন্য দ্রুত সাজেশন প্রদান করবে।Elasticsearch-এ Field Data Type এবং তাদের প্রয়োগ সঠিকভাবে নির্ধারণ করা জরুরি, কারণ এটি ডেটা ইন্ডেক্স এবং সার্চ অপারেশনের কার্যকারিতা ও পারফরম্যান্স নির্ধারণ করে। প্রতিটি ডেটা টাইপ নির্দিষ্ট প্রয়োজনের উপর ভিত্তি করে ব্যবহার করা উচিত। সঠিক ডেটা টাইপ নির্বাচন করে এবং সেটি কনফিগার করে, Elasticsearch-কে আরও কার্যকর এবং দ্রুততর করে তোলা সম্ভব।
আরও দেখুন...